lexer grammar AnalexANTLR;

options
 {
 	k=2;
 	backtrack = true;
 }

BLANCO
	: (' ' | '\t' | '\n' | '\r\n')
	{ $channel=HIDDEN; }
	;

DOSPUNTOS
	: ':'
	;
	
PARENTESIS_ABRIR
	: '('
	;
	
PARENTESIS_CERRAR
	: ')'
	;

COMILLA
	: '"'
	;

fragment ASTERISCO
	: '*'
	;
	
fragment MAS
	: '*'
	;
fragment OPCIONAL
	: '?'
	;

PUNTOCOMA
	: ';'
	;
	
OR 
	: '|'
	;
	
fragment LETRA
	: 'a'..'z'
	| 'A'..'Z'
	| '_'
	; 
	
ID
	: (LETRA)+
	;

CADENA
	: '"' (~'"')* '"'
	;
	
REPETICION
	: ASTERISCO
	| MAS
	| OPCIONAL
	;